Release 10.1A: OpenEdge Data Management:
DataServer for Microsoft SQL Server


Differences in and unsupported 4GL statements

The DataServer supplies you with complete Progress 4GL functionality when accessing MSS data sources. Nearly all 4GL language elements (statements, functions, and so forth) and Data Dictionary features work the same whether your application accesses a data source through the DataServer or an OpenEdge database.

Use the DBRESTRICTIONS function to find out which Progress features your MSS data source does not support. For the DataServer for MS SQL Server, DBRESTRICTIONS can return SETUSERID and COUNT–OF. In certain circumstances, it can return additional values. For example, it can return READ–ONLY if you connect to the schema holder in read-only mode. See the “DBRESTRICTIONS function” reference entry in OpenEdge Development: Progress 4GL Reference for information on syntax.

Table 2–7 summarizes the 4GL differences between OpenEdge databases and MSS data sources.

Table 2–7: 4GL differences between OpenEdge Databases and MSS data sources
Progress feature
MSS data source difference
CONTAINS operator
This operator relates to word indexing, which the DataServer does not support.
COUNT–OF function
The DataServer does not support this function.
CREATE statement
Records that you create after opening a cursor might be invisible to that cursor.
FIND statements
FOR EACH statements
OPEN QUERY statement
To reduce the number of records included in the results set, qualify your FIND statements and queries with a WHERE clause.
MATCHES function
BEGINS function
The DataServer does not support using the percent (%) or underscore (_) character with the MATCHES and BEGINS functions. Do not use these functions with a pattern that is not an expression.
It is theoretically possible to do this with an OpenEdge database, but using this kind of criteria results in poor performance.
NO–LOCK option1
SHARE–LOCK option
EXCLUSIVE–LOCK option
An OpenEdge EXCLUSIVE–LOCK is emulated in the DataServer. An OpenEdge NO-LOCK can be emulated in the MS SQL Server database when the isolation level is set to read-uncommitted. SHARE-LOCK behavior is data source and isolation level dependent. See the "Data source record locking" section for more information.
NULL
MS SQL Server NULL = Unknown value (?)
Progress empty string ("") = a one space string in MS SQL Server.
Record creation
A record is created at the end of a record’s scope and not when the required index information becomes available.
SESSION:TIME-SOURCE handle
This system handle returns the MS SQL Server’s server time information.
SETUSERID function
You cannot use this function to change the login name and password.
1For more information, see the "Data source record locking" section.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095